package com.qtenv.datasync.service.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 分区参数标签页
 * </p>
 *
 * @author CBL
 * @since 2022-08-01
 */
@Data
@TableName("dw_tag")
@ApiModel(value = "Tag对象", description = "分区参数标签页")
public class Tag implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("平台表单自增主键")
    @TableId("ID")
    private Integer id;

    @ApiModelProperty("设备归属租户")
    @TableField("tenant_id")
    private String tenantId;

    @ApiModelProperty("父级ID")
    @TableField("PID")
    private String pid;

    @ApiModelProperty("父级名称")
    @TableField("PName")
    private String pName;

    @ApiModelProperty("大分区的ID")
    @TableField("AreaID")
    private String areaID;

    @ApiModelProperty("层级名称")
    @TableField("AreaName")
    private String areaName;

    @ApiModelProperty("层级类型1:大分区、2：DMA、3：大用户、4：楼栋")
    @TableField("LevelType")
    private String levelType;

    @ApiModelProperty("修改时间")
    @TableField("ChangeTime")
    private LocalDateTime changeTime;

    @ApiModelProperty("抄表频率（月/次）")
    @TableField("ReadFrequent")
    private Integer readFrequent;

    @ApiModelProperty("抄表日期1-28（生成月数据日期）")
    @TableField("ReadDate")
    private Integer readDate;

    @ApiModelProperty("选项：规划、设计、完成")
    @TableField("Status")
    private String status;

    @ApiModelProperty("该分区开始规划或建设的日期，格式：2022-1-1")
    @TableField("StartDate")
    private String startDate;

    @ApiModelProperty("该分区建成的日期格式：2022-1-1")
    @TableField("FinishDate")
    private String finishDate;

    @ApiModelProperty("该分区的负责人")
    @TableField("Director")
    private String director;

    @ApiModelProperty("管网长度（KM）")
    @TableField("Pipe_Length")
    private BigDecimal pipeLength;

    @ApiModelProperty("用户支管数量（个）")
    @TableField("Branch_Amount")
    private Integer branchAmount;

    @ApiModelProperty("用户支管平均长度（米）")
    @TableField("Branch_Length")
    private BigDecimal branchLength;

    @ApiModelProperty("有无压力设备:1、有 0、无")
    @TableField("PressureEquipment")
    private String pressureEquipment;

    @ApiModelProperty("无压力设备时的平均压力值")
    @TableField("Pressure")
    private BigDecimal pressure;

    @ApiModelProperty("日平均供水时长（小时）")
    @TableField("SupplyTime")
    private BigDecimal supplyTime;

    @ApiModelProperty("取值范围【1-4】，每隔5年增加0.5。大于等于15年的管网取值为2.5到3之间，（以上规则：南方地区增加0.5）—DMA独有")
    @TableField("ICF")
    private BigDecimal icf;

    @ApiModelProperty("居民，类居民户数—DMA独有")
    @TableField("HomeUser_Amount")
    private Integer homeuserAmount;

    @ApiModelProperty("非居民户数—DMA独有")
    @TableField("Other_Amount")
    private Integer otherAmount;

    @ApiModelProperty("居民，类居民用户夜间用水定额（L/户/hr）—DMA独有")
    @TableField("HomeUser_quota")
    private BigDecimal homeuserQuota;

    @ApiModelProperty("非居民夜间用水定额（L/户/hr）—DMA独有")
    @TableField("Other_quota")
    private BigDecimal otherQuota;

    @ApiModelProperty("抄表模式—DMA独有(默认：1：一户一表，2：抄总表)")
    @TableField("ReadMode")
    private Integer readMode;

    @ApiModelProperty("目标漏损率")
    @TableField("LSL")
    private BigDecimal lsl;

    @ApiModelProperty("目标产销差率")
    @TableField("CXCL")
    private BigDecimal cxcl;

    @ApiModelProperty("干管长度（KM）—DMA独有")
    @TableField("GPipe_Length")
    private BigDecimal gpipeLength;

    @ApiModelProperty("大表冻结日期")
    @TableField("Large_freeze")
    private Integer largeFreeze;

    /**
     * 规划
     */
    @TableField(exist = false)
    private Integer gh;

    /**
     * 设计
     */
    @TableField(exist = false)
    private Integer sj;

    /**
     * 完成
     */
    @TableField(exist = false)
    private Integer wc;
}